1. Field of the Invention
The present invention relates to a three dimensional sprite rendering apparatus, in particular, to a three dimensional sprite rendering apparatus that determines the depth of each dot in a three dimensional graphic, operates independently of other graphic production means, and enables the movement, rotation, and enlargement of a graphic in any three dimensional direction without manipulating other graphics by operating a control register.
2. Description of the Related Art
Two dimensional graphics displaying apparatuses such as video game machines have a function called a sprite that enables the details of graphics to be expressed and moved at a high speed. For example, Japanese Patent Application Laying Open 63-284593 entitled "Sprite Display Control Device for Scanning Display Device" can move sprites within a display screen to smoothly move characters on the screen simply by changing coordinate values in a sprite attribute table that defines the location and type of patterns without the need to redefine the patterns.
The screen of a two dimensional graphic video game machine has a background (simply referred to as "BG" below) that is a graphic function used as a background for graphics; and a sprite (simply referred, to as "SP" below) that can display a small graphic bustling about on the screen. A BG is used for an image that does not substantially move, and a video game is created by placing SPs on the BG in arbitrary locations. SPs capable of bustling about within the screen are often used to create characters in a video game. In addition, an animation effect can be produced by alternatively displaying different SPs for a character.
A three dimensional video game machine comprises BGs, SPs, and three dimensional graphics (simply referred to as "PG") subjected to depth processing. Three dimensional graphics are, For example, graphics using polygons and subjected to hidden surface processing such as a Z buffer method. Since the BG is displayed as an image at a single depth or an image that does not contain polygons, it is not subjected to mathematical operations concerning the depth. Both SPs and PGs are, however, displayed at similar depths. This is true when the leading characters in a game are moving within a three dimensional space comprising polygons. In this case, since current video game machines do not provide SPs with information on depth, SPs are always located in front of a PG or hidden in rear of a PG. The principle advantage of SPs is that they enable the leading characters in a video game to freely move against a background. Current video game machines thus include a rotation/enlargement/reduction function to create various states of SPs.
SPs do not perfectly meet the needs of three dimensional graphics involving depth. This is because hidden surface processing associated with both SPs and PGs is not provided although both SPs and PGs are displayed at similar depths. When a leading character in a game is moving through a three dimensional space comprising polygons, current graphic systems must determine whether an SP should be located in front or rear of a PG using mathematical operations in a program, in order to display the SP in front or rear of the PG. This does not perfectly meet the needs, however, because the depth relationship between the SPs and PG must be processed for each dot because the PG has a depth for each of their dots.
The main advantage of SPs is that they enable the leading character in a video game to freely move against a background without the need of positional determination by a program. In three dimensional video games, however, SPs cannot move freely in the direction of depth because such video games use as a background a PG comprising a three dimensional space instead of a BG that is a two dimensional space (hidden surface processing is not provided). Even if the depth relationship is processed for each dot, SPs still fail to meet the needs of three dimensions in that they do not express the thickness of objects. This is because SPs can be rotated in the direction of the Z axis whereas they cannot be rotated in the X or the Y axis.
The rotation in the X and the Y directions is possible if data for the rotation in the X and the Y directions is used to rewrite display data for SPs. This processing takes, however, a large amount of time to rewrite display data in a three dimensional graphic system wherein the viewpoint is constantly changed. It is also possible to use SPs corresponding to data for the rotation to rotate displayed SPs by switching control data.
In this case, however, a large number of SPs must be used, and a large number of characters cannot be used because a single character requires a large number of SPs due to physical limitations of hardware. In both cases, a large data area is required to save data.
The problems of the prior art can be summarized as follows:
(1) The prior art does not provide hidden surface processing for the depth of each dot.
(2) Due to the lack of data for expressing the thickness of objects, the prior art cannot carry out three dimensional rotation properly. Even if it can carry it out, the volume of data increases.